package co.fitstart.mobile.service;

import java.util.List;
import java.util.Map;

import co.fitstart.entity.course.schedule.CourseSchedule;
import co.fitstart.entity.courseware.dietary.Dietary;
import co.fitstart.entity.courseware.exercise.Exercise;
import co.fitstart.entity.courseware.exercise.PlannedSchedule;
import co.fitstart.entity.courseware.fitnessgroup.BatchCourseware;

/**
 * 
 * @author houtao
 *
 */
public interface WeeklyPlanService {
    
    /**
     * 
     * @param batchCourseware
     * @return
     */
    public Dietary generallyLoadDietary(BatchCourseware batchCourseware);
    
    
    /**
     * load exercise by batchCourseware
     * @param batchCourseware
     * @return
     */
    public Exercise loadExercise(BatchCourseware batchCourseware);
    
    /**
     * 
     * @param batchCourseware
     * @return
     */
    public List<PlannedSchedule> listPlannedSchedule(BatchCourseware batchCourseware);
    
    /**
     * 
     * @param batchCourseware
     * @param schedules
     * @return
     */
    public Map<Integer, CourseSchedule> listSchedule(BatchCourseware batchCourseware, List<PlannedSchedule> schedules);
    
    /**
     * 
     * @param courseSchedule
     * @param rank
     * @return
     */
    public PlannedSchedule getPlannedSchedule(CourseSchedule courseSchedule, int rank);
}
